Extensible Markup Language (XML) has attained wide popularity in recent years. XML is a universal language that provides a way to identify, exchange, and process various kinds of data. For example, XML is used to create documents that can be utilized by a variety of application programs of different manufacture.
An XML document is usually identified by a namespace, which may be used to identify what type of XML document it is. An application program may use the namespace to decide how to handle the document. In order to open the XML document and present the content of the document in a meaningful way, the application program must decide how the XML elements should be mapped into the objects used by the application program. A conventional application program may open the XML document by applying a transform, which is used to convert the XML document into an XML document that is in the application program's own namespace. However, since the standard transform has to work with many XML documents, the transform would likely not incorporate a rich mapping to the structure of the application program. The plain looking document that results from applying this type of universal transform provides a poor user experience.
Alternatively, the conventional application program may prompt the user to provide an applicable transform, such as an Extensible Style Language (XSL) transform. In this case, the user would have to know which particular XSL transform is applicable to convert the XML document as well as the location of that XSL transform. While there is a greater chance that this chosen solution will give the user a much richer experience, these extra steps create delays and require undue effort by the user. Also, the steps would likely have to be repeated each time the application program encounters another XML document. Moreover, unsophisticated users may be confused when prompted for an XSL transform.